﻿#ifndef PARALLELBLOCK_H
#define PARALLELBLOCK_H

#include <QObject>
#include <QMargins>
#include <QPoint>

#include "AbstractBlock.h"
#include "FlowChart_Global.h"

namespace CVV
{

namespace FlowChart
{
/**
 * @brief 平行分支逻辑判定块
 */
class CVV_FLOWCHART_EXPORT ParallelBlock : public AbstractBlock
{
public:
    explicit ParallelBlock();
    explicit ParallelBlock(QString &name,QRect &position,double zoom, bool isExpand ,QMargins margins=QMargins(0,0,0,0));
    ~ParallelBlock();

    // AbstractBlock interface
public:
    /**
     * @brief paint 绘制bock 形状
     * @param canvas 画板
     * @param fontSizeInPoints 字体大小
     */
    void paint(QPainter *canvas);
    /**
     * @brief getBlockDom
     * @return 返回区域块Dom xml结构
     */
    static QString getBlockDom(int num);

   /**
    * @brief getBranchNum 获取分支序号
    * @param
    * @return bool false 表示点击位置不是序号位置
    */
    bool getBranchNum(QPointF &p, int &branchId);
};

}

}
#endif // ParallelBlock_H
